package com.ljf.task.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ljf.common.model.BasisModel;
import com.ljf.config.annotation.AutoCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * 任务列表对象  task_dat_task_tabulation
 *
 * @author LJF
 * @since 2024-12-25
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("任务列表")
@EqualsAndHashCode(callSuper = true)
@TableName("task_dat_task_tabulation")
public class TaskDatTaskTabulation extends BasisModel {

	private static final long serialVersionUID = 1L;

	/**
	 * Java类型: Long
	 * 数据库类型: bigint
	 * 注释: ID
	 * {@link TaskDatTaskTabulation#COL_ID}
	 */
	@TableId(value="id", type= IdType.AUTO)
	@JsonProperty("id")
	@ApiModelProperty(value = "ID")
	private Long id;

	/**
	 * Java类型: String
	 * 数据库类型: char(13)
	 * 注释: 编码
	 * {@link TaskDatTaskTabulation#COL_CODE}
	 */
	@AutoCode
	@TableField("code")
	@JsonProperty("code")
	@ApiModelProperty(value = "编码")
	private String code;

	/**
	 * Java类型: String
	 * 数据库类型: varchar(60)
	 * 注释: 菜单编码
	 * {@link TaskDatTaskTabulation#COL_MENU_CODE}
	 */
	@TableField("menu_code")
	@JsonProperty("menuCode")
	@ApiModelProperty(value = "菜单编码")
	private String menuCode;

	/**
	 * Java类型: String
	 * 数据库类型: varchar(50)
	 * 注释: 标题
	 * {@link TaskDatTaskTabulation#COL_TITLE}
	 */
	@TableField("title")
	@JsonProperty("title")
	@ApiModelProperty(value = "标题")
	private String title;

	/**
	 * Java类型: Integer
	 * 数据库类型: tinyint
	 * 注释: 任务状态(1:待设计;2:设计中;3:待开发;4:开发中;5:联调中;6:待测试;7:测试中;8:待发布;9:已完成)
	 * {@link TaskDatTaskTabulation#COL_TASK_STATUS}
	 * {@link com.ljf.task.enums.TaskDatTaskTabulationTaskStatusEnum}
	 */
	@TableField("task_status")
	@JsonProperty("taskStatus")
	@ApiModelProperty(value = "任务状态")
	private Integer taskStatus;

	/**
	 * Java类型: Integer
	 * 数据库类型: tinyint
	 * 注释: 任务类型(1:界面优化;2:操作优化;3:新需求;4:bug修复)
	 * {@link TaskDatTaskTabulation#COL_TASK_TYPE}
	 * {@link com.ljf.task.enums.TaskDatTaskTabulationTaskTypeEnum}
	 */
	@TableField("task_type")
	@JsonProperty("taskType")
	@ApiModelProperty(value = "任务类型")
	private Integer taskType;


	/**
	 * ID
	 * {@link TaskDatTaskTabulation#id}
	 */
	public static final String COL_ID = "id";
	/**
	 * 编码
	 * {@link TaskDatTaskTabulation#code}
	 */
	public static final String COL_CODE = "code";
	/**
	 * 菜单编码
	 * {@link TaskDatTaskTabulation#menuCode}
	 */
	public static final String COL_MENU_CODE = "menu_code";
	/**
	 * 标题
	 * {@link TaskDatTaskTabulation#title}
	 */
	public static final String COL_TITLE = "title";
	/**
	 * 任务状态(1:待设计;2:设计中;3:待开发;4:开发中;5:联调中;6:待测试;7:测试中;8:待发布;9:已完成)
	 * {@link TaskDatTaskTabulation#taskStatus}
	 */
	public static final String COL_TASK_STATUS = "task_status";
	/**
	 * 任务类型(1:界面优化;2:操作优化;3:新需求;4:bug修复)
	 * {@link TaskDatTaskTabulation#taskType}
	 */
	public static final String COL_TASK_TYPE = "task_type";

}
